#ifndef __HASH_H
#define __HASH_H

typedef unsigned int Index;
typedef const char * KeyType;
typedef char * ValueType;
struct ListNode;
typedef struct ListNode* Position;
struct HashTbl;
typedef struct HashTbl* PtrToTbl;


PtrToTbl initHashTbl(int tblSize);
void insert(PtrToTbl tbl, KeyType key, ValueType value);
Position find(PtrToTbl tbl, KeyType key);
Index Hash(const char* key, int tblSize);
ValueType retrieve(Position node);

Position newNode(KeyType key,ValueType value);


#endif